<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                template="../../resources/templates/login.xhtml"
                xmlns:p="http://primefaces.org/ui"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:sec="http://www.springframework.org/security/facelets/tags" >

    <ui:define name="menu_horizontal">
        <sec:ifAnyGranted roles="ROLE_SERVIDOR,ROLE_ADMINISTRADOR">
            <ui:include src="/site/acessoServidor/menu.xhtml" />
        </sec:ifAnyGranted>
    </ui:define>
    
    <ui:define name="corpo">
        <sec:ifAnyGranted roles="ROLE_SERVIDOR,ROLE_ADMINISTRADOR">
            
                <h:form id="formSalvar">
                <p:growl id="growl" showDetail="true" sticky="true" /> 
                <p:panel  header="Manter Matriz Curricular"> 
                    <p:messages id="msgs"/> 
                    <h:panelGrid columns="2" >
                    
                    
                        Curso:* <p:selectOneMenu value="#{controllerMatriz.matriz.curso}" converter="#{CursoConverter}" style="width:200px;" required="true" requiredMessage="Campo Curso é Obrigatório.">
                            <f:selectItem itemLabel="-- Selecione --" noSelectionOption="true"/>
                            <f:selectItems value="#{controllerCurso.lista}" var="tipo" itemValue="#{tipo}" itemLabel="#{tipo.nome}"/>
                        </p:selectOneMenu>
                        Situação da Matriz:* <p:selectOneMenu value="#{controllerMatriz.matriz.situacao_matriz}" style="width:200px;" required="true" requiredMessage="Campo Situação da Matriz é Obrigatório." >
                            <f:selectItem itemLabel="-- Selecione --" noSelectionOption="true"/>
                            <f:selectItem itemLabel="Em Cadastro" itemValue="Em Cadastro" />
                            <f:selectItem itemLabel="Vigente" itemValue="Vigente" />
                            <f:selectItem itemLabel="Ativa" itemValue="Ativa" />
                            <f:selectItem itemLabel="Desativada" itemValue="Desativada" />
                        </p:selectOneMenu>
                        Forma de Avaliação:* <p:selectOneMenu value="#{controllerMatriz.matriz.forma_avaliacao}" style="width:200px;"  required="true" requiredMessage="Campo Forma de Avaliação é Obrigatório.">
                            <f:selectItem itemLabel="-- Selecione --" noSelectionOption="true"/>
                            <f:selectItem itemLabel="Nota" itemValue="Nota" />
                            <f:selectItem itemLabel="Conceito" itemValue="Conceito" />
                            <f:selectItem itemLabel="Frequencia" itemValue="Frequencia" />
                        </p:selectOneMenu>

                        Inicio da Vigência:* <p:calendar pattern="dd/MM/yyyy" locale="pt" value="#{controllerMatriz.matriz.inicio_vigencia}" showButtonPanel="true" navigator="true" id="ptCal" required="true" requiredMessage="Campo Dt da Vigência é Obrigatório." style="width: 200px"/>  
                             
                        
                        Fim da Vigência: <p:calendar pattern="dd/MM/yyyy" locale="pt" value="#{controllerMatriz.matriz.fim_vigencia}" showButtonPanel="true" navigator="true" id="ptCal2" style="width: 200px"/>  
                        Tipo do Periodo da Matriz:* <p:selectOneMenu value="#{controllerMatriz.matriz.tipo_periodo_matriz}" style="width: 200px" required="true" requiredMessage="Campo Tipo Período da Matriz é Obrigatório." >
                            <f:selectItem itemLabel="-- Selecione --" noSelectionOption="true"/>
                            <f:selectItem itemLabel="Anual" itemValue="Anual" />
                            <f:selectItem itemLabel="Semestral" itemValue="Semestral" />
                            <f:selectItem itemLabel="Trimestral" itemValue="Trimestal" />
                            <f:selectItem itemLabel="Bimestral" itemValue="Bimestral" />
                            <f:selectItem itemLabel="Mensal" itemValue="Mensal" />
                            <f:selectItem itemLabel="Quinzenal" itemValue="Quinzenal" />
                        </p:selectOneMenu>

                        Número do Pedido:* <p:inputText value="#{controllerMatriz.matriz.numero_pedido}" required="true" requiredMessage="Campo Número do Pedido é Obrigatório." style="width: 170px"/>
                        Número Máximo de Elementos: <p:inputText value="#{controllerMatriz.matriz.numero_max_elementos}" style="width: 170px"/>
                        Grupo Curricular:* <p:selectOneMenu value="#{controllerMatriz.matriz.grupo_curricular}" style="width: 200px" required="true" requiredMessage="Campo Grupo Curricular é Obrigatório." >
                            <f:selectItem itemLabel="-- Selecione --" noSelectionOption="true"/>
                            <f:selectItem itemLabel="Grupo de Optativas" itemValue="Grupo de Optativas" />
                            <f:selectItem itemLabel="Grupo de Eletivas" itemValue="Grupo de Eletivas" />
                            <f:selectItem itemLabel="Grupo de Obrigatórias" itemValue="Grupo de Obrigatorias" />
                        </p:selectOneMenu>

                        <p:commandButton value="Salvar" ajax="true" update="@form" actionListener="#{controllerMatriz.salvar()}"/>

  
                    
                                    
                    
                    </h:panelGrid>
                </p:panel>


                <p:dataTable id="tabela" var="p" value="#{controllerMatriz.listaDM}" emptyMessage="Nada encontrado..."
                             paginator="true" rows="10" paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" 
                     rowsPerPageTemplate="5,10,15"   >
                    <p:column headerText="Curso" filterBy="#{p.curso.nome}">
                        <h:outputText value="#{p.curso.nome}"/>
                    </p:column>
                    <p:column headerText="Matriz" filterBy="#{p.situacao_matriz}">
                        <h:outputText value="#{p.situacao_matriz}"/>
                    </p:column>
                     <p:column headerText="Inicio da Vigencia">
                        <h:outputText value="#{p.inicio_vigencia}">
                            <f:convertDateTime pattern="dd/MM/yyyy"/>
                        </h:outputText>
                    </p:column>
                     <p:column headerText="Fim da Vigencia">
                        <h:outputText value="#{p.fim_vigencia}">
                            <f:convertDateTime pattern="dd/MM/yyyy"/>
                        </h:outputText>
                    </p:column>
                    
                    <p:column>
                        <p:commandLink  actionListener="#{controllerMatriz.prepararAlterar()}"  process="@this" oncomplete="dialogAlterar.show();" update=":formAlterar">
                        <p:graphicImage  value="/resources/images/edit.png" />
                        </p:commandLink>
                        <p:commandLink  actionListener="#{controllerMatriz.remover()}" ajax="true" process="@this" update="@form">
                        <p:graphicImage  value="/resources/images/delete.png" />   
                        </p:commandLink>
                    </p:column>
                </p:dataTable>
                
                 

            </h:form>
            
              <p:dialog widgetVar="dialogAlterar" resizable="false" closable="false" modal="true" showEffect="slide" hideEffect="slide">
                <h:form id="formAlterar">
                    <p:panel style="width: 320px;">
                        <p:messages id="msgs"/> 
                        <h:panelGrid columns="2">
                                
                            Curso: <p:selectOneMenu value="#{controllerMatriz.matriz.curso}" converter="#{CursoConverter}" style="width:200px;" >
                                
                                <f:selectItems value="#{controllerCurso.lista}" var="tipo" itemValue="#{tipo}" itemLabel="#{tipo.nome}"/>
                            </p:selectOneMenu>
                            Situação da Matriz: <p:selectOneMenu value="#{controllerMatriz.matriz.situacao_matriz}" style="width:200px;" >
                               
                                <f:selectItem itemLabel="Em Cadastro" itemValue="Em Cadastro" />
                                <f:selectItem itemLabel="Vigente" itemValue="Vigente" />
                                <f:selectItem itemLabel="Ativa" itemValue="Ativa" />
                                <f:selectItem itemLabel="Desativada" itemValue="Desativada" />
                            </p:selectOneMenu>
                            Forma de Avaliação: <p:selectOneMenu value="#{controllerMatriz.matriz.forma_avaliacao}" style="width:200px;" >
                             
                                <f:selectItem itemLabel="Nota" itemValue="Nota" />
                                <f:selectItem itemLabel="Conceito" itemValue="Conceito" />
                                <f:selectItem itemLabel="Frequencia" itemValue="Frequencia" />
                            </p:selectOneMenu>

                            Inicio da Vigência: <p:calendar value="#{controllerMatriz.matriz.inicio_vigencia}" style="width: 200px"/>
                            Fim da Vigência: <p:calendar value="#{controllerMatriz.matriz.fim_vigencia}"  style="width: 200px"/>
                            Tipo do Periodo da Matriz: <p:selectOneMenu value="#{controllerMatriz.matriz.tipo_periodo_matriz}"  style="width: 200px">
                                
                                <f:selectItem itemLabel="Anual" itemValue="Anual" />
                                <f:selectItem itemLabel="Semestral" itemValue="Semestral" />
                                <f:selectItem itemLabel="Trimestral" itemValue="Trimestal" />
                                <f:selectItem itemLabel="Bimestral" itemValue="Bimestral" />
                                <f:selectItem itemLabel="Mensal" itemValue="Mensal" />
                                <f:selectItem itemLabel="Quinzenal" itemValue="Quinzenal" />
                            </p:selectOneMenu>

                            Número do Pedido: <p:inputText value="#{controllerMatriz.matriz.numero_pedido}"  style="width: 170px"/>
                            Número Máximo de Elementos: <p:inputText value="#{controllerMatriz.matriz.numero_max_elementos}"  style="width: 170px"/>
                            
                            Grupo Curricular: <p:selectOneMenu value="#{controllerMatriz.matriz.grupo_curricular}" style="width:200px;">
                               
                                <f:selectItem itemLabel="Grupo de Optativas" itemValue="Grupo de Optativas" />
                                <f:selectItem itemLabel="Grupo de Eletivas" itemValue="Grupo de Eletivas" />
                                <f:selectItem itemLabel="Grupo de Obrigatórias" itemValue="Grupo de Obrigatorias" />
                            </p:selectOneMenu>
                            <p:commandButton value="Alterar" actionListener="#{controllerMatriz.alterar()}" oncomplete="dialogAlterar.hide()" update=":formSalvar" 
                                                style="margin-top: 30px"/>
                            <p:commandButton value="cancelar" actionListener="#{controllerMatriz.limpar()}" oncomplete="dialogAlterar.hide()" update=":formSalvar" 
                                                style="margin-top: 30px;margin-left: 0px;"/>
                        </h:panelGrid>
                    </p:panel>
                </h:form>
            </p:dialog>
            
            
        </sec:ifAnyGranted>
    </ui:define>
    
</ui:composition>
